package com.qjc.demo.algorithm.interview;

/**
 * @Description: 2.假设有一个数组，它的第i个元素对应第i天的价格，
 * 如果最多只允许完成一次交易（即买进一次卖出一次），设计一个算法找出最大利润，例：[7,1,5,3,6,4] 最大利润：5
 * @Author: qjc
 * @Date: 2020/3/18
 */
public class MaxProfit {

    public static void main(String[] args) {
        int[] num = {7, 1, 50, 3, 6, 4, 20, 200};
        System.err.println(getMaxProfit(num));
    }

    private static int getMaxProfit(int num[]) {
        int maxLiRun = 0;
        int inDate = 0;
        int outDate = 0;
        for (int i = 0; i < num.length - 1; i++) {
            for (int j = i + 1; j < num.length; j++) {
                int liRunTemp = num[j] - num[i];
                if (maxLiRun < liRunTemp) {
                    maxLiRun = liRunTemp;
                    inDate = i;
                    outDate = j;
                }
            }
        }
        System.err.println("第" + (inDate + 1) + "天买进");
        System.err.println("第" + (outDate + 1) + "天卖出");
        return maxLiRun;
    }

}
